package com.aiju.cash.ui.main;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.CheckBox;

import com.aiju.base.activity.BaseTitleActivity;
import com.aiju.cash.R;
import com.aiju.cash.ui.main.entity.Select;

import java.util.ArrayList;
import java.util.List;

public class SelectOtherActivity extends BaseTitleActivity {
    public static String SKQD = "skqd";
    List<CheckBox> ksxzList = new ArrayList<>();//快速选择 viewlist
    List<CheckBox> jylxList = new ArrayList<>();//交易类型 viewList

    private CheckBox zfb;
    private CheckBox wxzf;
    private CheckBox xj;
    private CheckBox ewmtk;
    private CheckBox sk;
    private CheckBox tk;
    boolean isInit = true;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_select_other);
        setCenterTitle("选择其他");
        mAiJuTitleBarView.setRightTitle("确认");

        zfb = (CheckBox) findViewById(R.id.zfb);
        wxzf = (CheckBox) findViewById(R.id.wxzf);
        xj = (CheckBox) findViewById(R.id.xj);
        ewmtk = (CheckBox) findViewById(R.id.ewmtk);
        sk = (CheckBox) findViewById(R.id.sk);
        tk = (CheckBox) findViewById(R.id.tk);

//        zfb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
//            @Override
//            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
//                if (!isInit) {
//                    if (!isChecked && getKSXZCheckedSize() == 0) {
//                        buttonView.setChecked(true);
//                    }
//                }
//            }
//        });
//        wxzf.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
//            @Override
//            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
//                if (!isInit) {
//                    if (!isChecked && getKSXZCheckedSize() == 0) {
//                        buttonView.setChecked(true);
//                    }
//                }
//            }
//        });
//        xj.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
//            @Override
//            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
//                if (!isInit) {
//                    if (!isChecked && getKSXZCheckedSize() == 0) {
//                        buttonView.setChecked(true);
//                    }
//                }
//            }
//        });
//        ewmtk.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
//            @Override
//            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
//                if (!isInit) {
//                    if (!isChecked && getKSXZCheckedSize() == 0) {
//                        buttonView.setChecked(true);
//                    }
//                }
//            }
//        });
//        sk.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
//            @Override
//            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
//                if (!isInit) {
//                    if (!isChecked && getJYLXCheckedSize() == 0) {
//                        buttonView.setChecked(true);
//                    }
//                }
//            }
//        });
//        tk.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
//            @Override
//            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
//                if (!isInit) {
//                    if (!isChecked && getJYLXCheckedSize() == 0) {
//                        buttonView.setChecked(true);
//                    }
//                }
//            }
//        });
        ksxzList.add(zfb);
        ksxzList.add(wxzf);
        ksxzList.add(xj);
        ksxzList.add(ewmtk);
        jylxList.add(sk);
        jylxList.add(tk);

        getData();

        mAiJuTitleBarView.setRightOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
//                select.setPayType(getKSXZStr());
//                select.setTradeType(getjylxStr());
//                select.setOther("已选");
                Intent intent = new Intent();
                Bundle b = new Bundle();
//                b.putSerializable("result", select);
                b.putString("ksxz", getKSXZStr());
                b.putString("jylx", getjylxStr());
                if (getJYLXCheckedSize() == 0 && getKSXZCheckedSize() == 0) {
                    b.putString("other", "其他");
                } else {
                    b.putString("other", "已选");
                }
                intent.putExtras(b);
                setResult(RESULT_OK, intent);
                finish();
            }
        });

        isInit = false;
    }

    Select select;

    void getData() {
        Intent intent = getIntent();
        if (intent != null) {
            select = (Select) intent.getSerializableExtra("dd");
            showPayTypeView(intent.getStringExtra("ksxz").split(","));
            showTradeTypeView(trans2Text(intent.getStringExtra("jylx").split(",")));
        }
    }


    void showPayTypeView(String[] s) {
//        if (ksxzList.size() == s.length) {
//            for (int i = 0; i < ksxzList.size(); i++) {
//                ksxzList.get(i).setChecked(false);
//            }
//            return;
//        }
        for (int i = 0; i < ksxzList.size(); i++) {
            for (int j = 0; j < s.length; j++) {
                if (ksxzList.get(i).getText().equals(s[j])) {
                    ksxzList.get(i).setChecked(true);
                    break;
                } else {
                    ksxzList.get(i).setChecked(false);
                }
            }
        }
    }

    void showTradeTypeView(List<String> s) {
//        if (jylxList.size() == s.size()) {
//            for (int i = 0; i < jylxList.size(); i++) {
//                jylxList.get(i).setChecked(false);
//            }
//            return;
//        }
        for (int i = 0; i < jylxList.size(); i++) {
            for (int j = 0; j < s.size(); j++) {
                if (jylxList.get(i).getText().equals(s.get(j))) {
                    jylxList.get(i).setChecked(true);
                    break;
                } else {
                    jylxList.get(i).setChecked(false);
                }
            }
        }
    }

    /**
     * 数字--》文字
     */
    List<String> trans2Text(String[] t) {
        List<String> list = new ArrayList<>();
        for (int i = 0; i < t.length; i++) {
            if ("1".equals(t[i])) {
                list.add("收款");
            } else if ("2".equals(t[i])) {
                list.add("退款");
            }
        }
        return list;
    }


    String getKSXZStr() {
        if (getKSXZCheckedSize() == 0) {
            return "";
        }
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < ksxzList.size(); i++) {
            CheckBox checkBox = ksxzList.get(i);
            boolean checked = checkBox.isChecked();
            if (checked) {
                sb.append(checkBox.getText().toString() + ",");
            }
        }
        StringBuilder stringBuilder = sb.deleteCharAt(sb.length() - 1);
        return stringBuilder.toString();
    }

    String getjylxStr() {
        if (getJYLXCheckedSize() == 0) {
            return "";
        }
        StringBuilder sb = new StringBuilder();
        for (int i = 1; i <= jylxList.size(); i++) {
            CheckBox checkBox = jylxList.get(i - 1);
            boolean checked = checkBox.isChecked();
            if (checked) {
                if ("收款".equals(checkBox.getText().toString())) {
                    sb.append("1,");
                } else if ("退款".equals(checkBox.getText().toString())) {
                    sb.append("2,");
                }
            }
        }
        StringBuilder stringBuilder = sb.deleteCharAt(sb.length() - 1);
        return stringBuilder.toString();
    }


    int getKSXZCheckedSize() {
        int tag = 0;
        for (int i = 0; i < ksxzList.size(); i++) {
            if (ksxzList.get(i).isChecked()) {
                tag++;
            }
        }
        return tag;
    }

    int getJYLXCheckedSize() {
        int tag = 0;
        for (int i = 0; i < jylxList.size(); i++) {
            if (jylxList.get(i).isChecked()) {
                tag++;
            }
        }
        return tag;
    }


}
